/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package views;

import entities.Clientes;
import entities.Usuarios;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.swing.JFrame;
import logica.Graficador;

/**
 *
 * @author root
 */
public class GraficadorEstadisticaNacionalesExtranjeros {

    public static JFrame frame;
    private Usuarios usuario;

    public JFrame getFrame() {
        return frame;
    }

    public GraficadorEstadisticaNacionalesExtranjeros(Usuarios usuario) {
        this.usuario = usuario;
    }

    public static void main(Usuarios usuario) {
        EntityManager entityManager = entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("SIAATPU").createEntityManager();
        Query query;
        List<Clientes> clientes = new ArrayList<Clientes>();
        Map<String, Double> mapValores = new HashMap<String, Double>();
        Long cantidadTotal;
        Long cantidadExtranjeros;
        Double result;
        Double porcentajes[] = new Double[2];

        query = entityManager.createNativeQuery(""
                + "SELECT COUNT(*) cantidad\n"
                + "FROM alquiler.clientes c\n"
                + "WHERE c.extranjero = 'SI';");

        cantidadExtranjeros = (Long) query.getSingleResult();

        query = entityManager.createNativeQuery(""
                + "SELECT COUNT(*) cantidad\n"
                + "FROM alquiler.clientes c;\n");
        cantidadTotal = (Long) query.getSingleResult();
        porcentajes[0] = new Double(cantidadExtranjeros);
        porcentajes[1] = cantidadTotal - porcentajes[0];

        List<String> clavesMap = new ArrayList<String>();
        clavesMap.add("Extranjeros");
        clavesMap.add("Nacionales");



        for (int i = 0; i < clavesMap.size(); i++) {
            result = mapValores.put(clavesMap.get(i), porcentajes[i]);
        }

        //mapValores, clavesMap[], tituloFrame
        frame = Graficador.pastel(mapValores, clavesMap, "Cantidad de Nacionales/Extranjeros", "Cantidad de Nacionales/Extranjeros");
        frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        frame.addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent e) {
                if (frame != null) {
                    frame.setVisible(false);
                }
                frame = null;
            }
        });
    }
}
